using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UD.GRAL.DataAccess;
using UD.GRAL.Entity;
using UD.Utilities.Exceptions;

namespace UD.GRAL.Business
{
    public class InstitucionEducacionSuperiorBLL
    {
        private InstitucionEducacionSuperiorDAL vInstitucionEducacionSuperiorDAL;
        public InstitucionEducacionSuperiorBLL()
        {
            vInstitucionEducacionSuperiorDAL = new InstitucionEducacionSuperiorDAL();
        }
        public int InsertarInstitucionEducacionSuperior(InstitucionEducacionSuperior pInstitucionEducacionSuperior)
        {
            try
            {
                return vInstitucionEducacionSuperiorDAL.InsertarInstitucionEducacionSuperior(pInstitucionEducacionSuperior);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                 throw new GenericException(ex);
            }
        }
        public int ModificarInstitucionEducacionSuperior(InstitucionEducacionSuperior pInstitucionEducacionSuperior)
        {
            try
            {
                return vInstitucionEducacionSuperiorDAL.ModificarInstitucionEducacionSuperior(pInstitucionEducacionSuperior);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                 throw new GenericException(ex);
            }
        }
        public int EliminarInstitucionEducacionSuperior(InstitucionEducacionSuperior pInstitucionEducacionSuperior)
        {
            try
            {
                return vInstitucionEducacionSuperiorDAL.EliminarInstitucionEducacionSuperior(pInstitucionEducacionSuperior);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                 throw new GenericException(ex);
            }
        }

        public InstitucionEducacionSuperior ConsultarInstitucionEducacionSuperior(int pIdInstitucionEducacionSuperior)
        {
            try
            {
                return vInstitucionEducacionSuperiorDAL.ConsultarInstitucionEducacionSuperior(pIdInstitucionEducacionSuperior);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new GenericException(ex);
            }
        }

        public List<InstitucionEducacionSuperior> ConsultarInstitucionEducacionSuperiors(String pCodInstitucionEducacionSuperior, String pNombreInstitucion, Boolean? pEstado)
        {
            try
            {
                return vInstitucionEducacionSuperiorDAL.ConsultarInstitucionEducacionSuperiors(pCodInstitucionEducacionSuperior, pNombreInstitucion, pEstado);
            }
            catch (UserInterfaceException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new GenericException(ex);
            }
        }
    }
}
